package com.cloudptt.api.product.parser.xml;

import java.io.StringReader;
import java.util.ArrayList;
import java.util.List;

import org.xmlpull.v1.XmlPullParser;

import android.util.Xml;

import com.cloudptt.api.comm.CauseCont;
import com.cloudptt.api.comm.CheckData;
import com.cloudptt.api.comm.Common;
import com.cloudptt.api.product.config.sys.LoginUserInfo;
import com.mcptt.db.model.UserInfo;

public class SysMsgParser 
{
	public String dealModPwd(String bodyStr)
	{
		String cause = "1";
		XmlPullParser parser = Xml.newPullParser();
		String name = null;
		try {
			parser.setInput(new StringReader(bodyStr));
			int eventType = parser.getEventType();
			while (eventType != XmlPullParser.END_DOCUMENT) {
				name = parser.getName();
				switch (eventType) {
				case XmlPullParser.START_DOCUMENT:// 文档开始事件,可以进行数据初始化处理
					break;
				case XmlPullParser.START_TAG:// 开始元素事件
					if (name.equalsIgnoreCase("Cause")) {
						cause = parser.nextText();
					}
					break;
				case XmlPullParser.END_TAG:// 结束元素事件
					name = null;
					break;
				}
				eventType = parser.next();
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		return cause;
	}
	
	//		String bodyStr ="<?xml version=\"1.0\" encoding=\"utf-8\" ?> \n"+
	//						"<pttqueryuserinforesp userNum=\"2\">\n"+
	//						"    <UserInfo>                          \n"+
	//						"        <PUID>460030916070000</PUID>    \n"+
	//						"        <MDN>16070000</MDN>             \n"+
	//						"        <Name>Jack</Name>               \n"+
	//						"    </UserInfo>                         \n"+
	//						"    <UserInfo>                          \n"+
	//						"        <PUID>460030916070001</PUID>    \n"+
	//						"        <MDN>16070001</MDN>             \n"+
	//						"        <Name>Tom</Name>                \n"+
	//						"    </UserInfo>                         \n"+
	//						"</pttqueryuserinforesp>                  \n";
//	public List<UserInfo> dealFriends(String bodyStr)
//	{
//		XmlPullParser parser = Xml.newPullParser();
//
//		List<UserInfo> list=null;
//		UserInfo user = null;
//
//		String name;
//
//
//		if(bodyStr == null || bodyStr.length()<1)
//		{
//			return list;
//		}
//
//		try {
//			parser.setInput(new StringReader(bodyStr));
//			int eventType = parser.getEventType();
//
//			while (eventType != XmlPullParser.END_DOCUMENT) {
//
//				name = parser.getName();
//
//				switch (eventType) {
//				case XmlPullParser.START_DOCUMENT:// 文档开始事件,可以进行数据初始化处理
//					list = new ArrayList<UserInfo>();
//					break;
//
//				case XmlPullParser.START_TAG:// 开始元素事件
//
//					if (name.equalsIgnoreCase("UserInfo")) {
//						user = new UserInfo();
//
//					} else if (name.equalsIgnoreCase("PUID")) {
////						user.setuId(parser.nextText());
//					} 
//					else if (name.equalsIgnoreCase("MDN")) {
//						user.setNum(parser.nextText());
//					} else if (name.equalsIgnoreCase("Name")) {
//
//						String tmpname = parser.nextText();
//
//						if(null!= tmpname && tmpname.length()>0)
//						{
//							String str = Common.unicode2String(tmpname);
//							user.setName(str);
//						}
//					}
//					break;
//
//				case XmlPullParser.END_TAG:// 结束元素事件
//					if ("UserInfo".equals(name)) {
////						if(null!=user.getuId()&&user.getuId().length()>0)
////						{
////							list.add(user);
////						}
//						user = null;
//					}
//					break;
//				}
//
//				eventType = parser.next();
//			}
//
//		} catch (Exception e) {
//			e.printStackTrace();
//		}
//
//		return list;
//	}
	
	public int dealForceDetachInfo(String bodyStr) 
	{
		XmlPullParser parser = Xml.newPullParser();
		String name;

		if(bodyStr == null || bodyStr.length()<1)
		{
			return CauseCont.Cause_Default;
		}

		try {
			parser.setInput(new StringReader(bodyStr));
			int eventType = parser.getEventType();

			while (eventType != XmlPullParser.END_DOCUMENT) 
			{
				name = parser.getName();

				switch (eventType) {
				case XmlPullParser.START_DOCUMENT:// 文档开始事件,可以进行数据初始化处理
					break;

				case XmlPullParser.START_TAG:// 开始元素事件

					if (name.equalsIgnoreCase("Cause")) 
					{
						String str = parser.nextText();
						if(str == null
								|| str.equals(""))
						{
							return CauseCont.Cause_Default;
						}
						int value = CheckData.parseInt(str);
						if(value == -1)
						{
							return CauseCont.Cause_Default;
						}

						return value;
					}

					break;

				case XmlPullParser.END_TAG:// 结束元素事件
					break;
				}

				eventType = parser.next();
			}

		} catch (Exception e) {
			e.printStackTrace();
			return CauseCont.Cause_Default;
		}

		return CauseCont.Cause_Default;
	}
	
	public LoginUserInfo dealLoginUserInfo(String bodyStr) 
	{
		XmlPullParser parser = Xml.newPullParser();
		String key = "";
		String name = "";
		String num = "";
		String userkey = "";
		

		if(bodyStr == null || bodyStr.length()<1)
		{
			return null;
		}

		try {
			parser.setInput(new StringReader(bodyStr));
			int eventType = parser.getEventType();

			while (eventType != XmlPullParser.END_DOCUMENT) {

				key = parser.getName();

				switch (eventType) {
				case XmlPullParser.START_DOCUMENT:// 文档开始事件,可以进行数据初始化处理
					break;

				case XmlPullParser.START_TAG:// 开始元素事件

					if (key.equalsIgnoreCase("pttuserinfoupd")) {
					} else if (key.equalsIgnoreCase("PUID")) {
						userkey = parser.nextText();
					} else if (key.equalsIgnoreCase("MDN")) {
						num = parser.nextText();
					} else if (key.equalsIgnoreCase("Name")) {
						name = parser.nextText();
					} 
					break;
				case XmlPullParser.END_TAG:// 结束元素事件
					break;
				}

				eventType = parser.next();
			}

		} catch (Exception e) {
			e.printStackTrace();
		}
		LoginUserInfo info = new LoginUserInfo(num,"",name,userkey);		
		return info;
	}
}
